﻿using FlexFlow.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlexFlow.Base.Interface
{
    /// <summary>
    /// 表示权限定义提供者接口
    /// </summary>
    public interface IPermissionDefineProvider : IPhysicalEntityProvider<PermissionDefine>
    {
        /// <summary>
        /// 取得具有指定名称的指定类型的权限定义实体，并且匹配指定的备注信息
        /// </summary>
        /// <param name="name">
        /// 权限定义名称
        /// </param>
        /// <param name="type">
        /// 权限定义类型
        /// </param>
        /// <param name="tag">
        /// 要进行匹配的备注信息，为空表示不匹配
        /// </param>
        /// <returns>
        /// 取得的权限定义实体
        /// </returns>
        PermissionDefine Get(string name, string type);
    }
}
